<%--
  Created by IntelliJ IDEA.
  User: huimao
  Date: 2020/6/18
  Time: 8:43
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户分析</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/layui/css/layui.css"/>

</head>
<body>

<!-- 条形图开始 -->
<div id="main" style="width: 600px;height:400px;"></div>
<%--条形图结束--%>

<%--中国地图开始--%>
<div id="china" style="width: 600px;height:400px;"></div>
<%--中国地图结束--%>

<%--前三周注册量变化开始--%>
<div id="time" style="width: 600px;height:400px;"></div>
<%--前三周注册量变化结束--%>

<%--layui js开始--%>
<script type="text/javascript" src="${pageContext.request.contextPath}/layui/layui.js"></script>
<%--layui js结束--%>

<%--引入jquery的代码引入开始--%>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.12.4.js"></script>
<%--引入jquery的代码引入结束--%>

<%--引入echarts开始--%>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/echarts.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/china.js"></script>
<%--引入echarts结束--%>

<script>
    //初始化echarts实例 创建行一个echarts对象
    var myChart =echarts.init(document.getElementById('main'));
    //创建echarts 中国地图实例
    var myChina =echarts.init(document.getElementById('china'));
    //创建echarts 前三周注册量变化
    var myChart1= echarts.init(document.getElementById('time'))

    $(function () {
        //ajax查询数据
        $.ajax({
            url:"${pageContext.request.contextPath}/user/selectAllCountThread",
            success:function (data) {
                /*用户分析开始*/
                var sex=data.sex;
                // 指定图表的配置项和数据
                // 定义变量option 在变量中 定义了图表展示的属性和数据
                var option = {
                    // 图表的标题
                    title: {
                        text: 'ECharts 用户男女分布'
                    },
                    // 工具栏 可以为空
                    tooltip: {},
                    // 传奇 在数学中是系列的意思
                    // 数据的类别 y轴的数据代表什么意思
                    // 例如： 销量 人数 注册量 访问量 阅读量 点赞量等
                    legend: {
                        data:['人数']
                    },
                    // xAxis x轴坐标
                    xAxis: {
                        data: [sex[0].user_sex,sex[1].user_sex]
                    },
                    // y轴坐标 自动识别自动处理 不需要定义
                    yAxis: {},
                    // 给x轴赋值
                    series: [{
                        // 对应 legend 中的data值  必须一样
                        name: '人数',
                        // 图表展示的类型 bar 柱状图展示 line 折线图 pie 饼状图
                        type: 'bar',
                        // 给x轴坐标赋值
                        data: [sex[0].count,sex[1].count]
                    }]
                };

                //把定义好的option 赋值给echarts对象
                myChart.setOption(option);
                /*用户分析结束*/

                /*中国国地图开始*/
                var province = data.province;
                var option3 = {
                    title : {
                        text: '用户地区分布',
                        left: 'center'
                    },
                    tooltip : {
                        trigger: 'item'
                    },
                    legend: {
                        orient: 'vertical',
                        left: 'left',
                        data:['用户人数']
                    },
                    visualMap: {
                        min: 0,
                        max: 25000,
                        left: 'left',
                        top: 'bottom',
                        text:['高','低'],           // 文本，默认为数值文本
                        calculable : true
                    },
                    toolbox: {
                        show: true,
                        orient : 'vertical',
                        left: 'right',
                        top: 'center',
                        feature : {
                            mark : {show: true},
                            dataView : {show: true, readOnly: false},
                            restore : {show: true},
                            saveAsImage : {show: true}
                        }
                    },
                    series : [
                        {
                            name: '用户人数',
                            type: 'map',
                            mapType: 'china',
                            roam: false,
                            label: {
                                normal: {
                                    show: false
                                },
                                emphasis: {
                                    show: true
                                }
                            },
                            data:province
                        }
                    ]
                };
                myChina.setOption(option3);
                /*中国国地图结束*/

                /*前三周注册变化开始*/
                // 定义变量option 在变量中 定义了图表展示的属性和数据
                var week=data.week;
                var option2 = {
                    // 图表的标题
                    title: {
                        text: 'ECharts 前三周用户注册量'
                    },
                    // 工具栏 可以为空
                    tooltip: {},
                    // 传奇 在数学中是系列的意思
                    // 数据的类别 y轴的数据代表什么意思
                    // 例如： 销量 人数 注册量 访问量 阅读量 点赞量等
                    legend: {
                        data:['注册量']
                    },
                    // xAxis x轴坐标
                    xAxis: {
                        data: ["前一周","前两周","前三周"]
                    },
                    // y轴坐标 自动识别自动处理 不需要定义
                    yAxis: {},
                    // 给x轴赋值
                    series: [{
                        // 对应 legend 中的data值  必须一样
                        name: '注册量',
                        // 图表展示的类型 bar 柱状图展示 line 折线图 pie 饼状图
                        type: 'line',
                        // 给x轴坐标赋值
                        data: [week[0].count,week[1].count,week[2].count]
                    }]
                };

                //把定义好的option 赋值给echarts对象
                myChart1.setOption(option2);
                /*前三周注册变化结束*/

            }
        })


    })

</script>

</body>
</html>
